//发送ajax请求前进行处理，获取令牌
//$(document) 表示整个文档对象，即整个 HTML 页面。
//.ajaxSend() 是 jQuery 的一个事件，用于在发送 AJAX 请求之前执行一些操作。
//event 是一个事件对象，用于表示事件的详细信息。
//xhr 是一个 XMLHttpRequest 对象，用于表示 AJAX 请求。
//options 是一个对象，用于表示 AJAX 请求的选项。
$(document).ajaxSend(function (event, xhr, options) {
    //getItem("user_token"); 用于获取本地存储中的令牌。因为在登录成功后，会将令牌存储到本地存储中（在bolg_login.html中设置），
    //登录成功后保存的令牌名字为 user_token，所以取出时也是使用 user_token。
    var token = localStorage.getItem("user_token");
    if (token != null) {
        //xhr.setRequestHeader("user_token_header", token); 用于设置请求头中的令牌，
        //因为在后端的拦截器中，使用的是 user_token_header 作为令牌的名称，所以这里也需要使用 user_token_header 作为请求头中的令牌名称。
        xhr.setRequestHeader("user_token_header", token);
    }
})

//AJAX请求失败时，会触发这个回调函数。
$(document).ajaxError(function (event, xhr, options, exc) {
    //因为后端拦截器中，设置如果拦截成功会设置状态码为 401，
    //所以这里判断状态码是否为 401，如果是 401，说明用户未登录，需要跳转到登录页。
    if (xhr.status == 401) {
        alert("用户未登录，请先登录");
        //跳转到登录页
        location.href = "blog_login.html";
    }
});


//退出登录
function logout() {
    //给一个确认框，确认是否退出登录
    if (!confirm("是否退出登录")) {
        return;
    }
    //删除本地存储中的令牌
    localStorage.removeItem("user_token");  
    //跳转到登录页
    location.href = "blog_login.html";
}